Systems and Methods for a Texture Engine

ABSTRACT

Systems and methods for a texture engine are disclosed. For example, one disclosed system includes: a processor configured to receive a display signal including a plurality of pixels, determine a haptic effect comprising a texture, and transmit a haptic signal associated with the haptic effect to an actuator in communication with the processor, the actuator configured to receive the haptic signal and output the haptic effect.

CROSS-REFERENCES TO RELATED APPLICATIONS

This patent application is a continuation of and claims priority to U.S.patent application Ser. No. 12/697,010, entitled “Systems and Methodsfor a Texture Engine,” filed on Jan. 29, 2010, which claims priority toU.S. Provisional Patent Application No. 61/159,482, entitled “LocatingFeatures Using a Friction Display,” filed Mar. 12, 2009, the entirety ofboth of which is incorporated by reference herein.

U.S. patent application Ser. No. 12/697,010 also claims priority to:U.S. Provisional Patent Application No. 61/262,041, entitled “System andMethod for Increasing Haptic Bandwidth in an Electronic Device,” filedNov. 17, 2009, which is incorporated by reference herein in itsentirety.

U.S. patent application Ser. No. 12/697,010 also claims priority to U.S.Provisional Patent Application No. 61/262,038, entitled “Friction RotaryDevice for Haptic Feedback,” filed Nov. 17, 2009, which is incorporatedby reference herein in its entirety.

U.S. patent application Ser. No. 12/697,010 is related to U.S. patentapplication Ser. No. 12/697,042, filed the same day and entitled“Systems and Methods for Using Multiple Actuators to Realize Textures,”(Attorney Docket No. IMM355 (51851-383719)), which is incorporated byreference herein in its entirety.

U.S. patent application Ser. No. 12/697,010 is related to U.S. patentapplication Ser. No. 12/697,037, filed the same day and entitled“Systems and Methods for Using Textures in Graphical User InterfaceWidgets,” (Attorney Docket No. IMM356 (51851-383718)), which isincorporated by reference herein in its entirety.

U.S. patent application Ser. No. 12/697,010 is related to U.S. patentapplication Ser. No. 12/696,893, filed the same day and entitled“Systems and Methods for Providing Features in a Friction DisplayWherein a Haptic Effect is Configured to Vary the Coefficient ofFriction,” (Attorney Docket No. IMM357 (51851-383714)), which isincorporated by reference herein in its entirety.

U.S. patent application Ser. No. 12/697,010 is related to U.S. patentapplication Ser. No. 12/696,900, filed the same day and entitled“Systems and Methods for Friction Displays and Additional HapticEffects,” (Attorney Docket No. IMM358 (51851-383716)), which isincorporated by reference herein in its entirety.

U.S. patent application Ser. No. 12/697,010 is related to U.S. patentapplication Ser. No. 12/696,908, filed the same day and entitled“Systems and Methods for Interfaces Featuring Surface-Based HapticEffects,” (Attorney Docket No. IMM359 (51851-383715)), which isincorporated by reference herein in its entirety.

FIELD OF THE INVENTION

The present invention generally relates to haptic feedback and moreparticularly to systems and methods for a texture engine.

BACKGROUND

Over the past several years, the use of handheld devices of all typeshas grown exponentially. These devices are used as portable organizers,telephones, music players, and gaming systems. Many modern handhelddevices now incorporate some type of haptic feedback. As haptictechnology improves, devices may incorporate haptic feedback simulatinga texture. Accordingly, a haptic texture engine is needed.

SUMMARY

Embodiments of the present invention provide systems and methods for atexture engine. For example, in one embodiment, a system for a textureengine comprises: a processor configured to receive a display signalcomprising a plurality of pixels, determine a haptic effect comprising atexture, and transmit a haptic signal associated with the haptic effectto an actuator in communication with the processor, the actuatorconfigured to receive the haptic signal and output the haptic effect.

This illustrative embodiment is mentioned not to limit or define theinvention, but rather to provide an example to aid understandingthereof. Illustrative embodiments are discussed in the DetailedDescription, which provides further description of the invention.Advantages offered by various embodiments of this invention may befurther understood by examining this specification.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentinvention are better understood when the following Detailed Descriptionis read with reference to the accompanying drawings, wherein:

FIG. 1 is a block diagram of a system for a texture engine according toone embodiment of the present invention;

FIG. 2 is an illustration of a system for a texture engine according toone embodiment of the present invention;

FIG. 3a is an illustration of a system for a texture engine according toone embodiment of the present invention;

FIG. 3b is an illustration of a system for a texture engine according toone embodiment of the present invention;

FIG. 4 is a flow chart of a method for a texture engine according to oneembodiment of the present invention;

FIG. 5a is an illustration of one of the textures that a texture enginemay generate according to one embodiment of the present invention;

FIG. 5b is another illustration of one of the textures that a textureengine may generate according to one embodiment of the presentinvention;

FIG. 5c is another illustration of one of the textures that a textureengine may generate according to one embodiment of the presentinvention;

FIG. 5d is another illustration of one of the textures that a textureengine may generate according to one embodiment of the presentinvention;

FIG. 5e is another illustration of one of the textures that a textureengine may generate according to one embodiment of the presentinvention;

FIG. 5f is another illustration of one of the textures that a textureengine may generate according to one embodiment of the presentinvention;

FIG. 5g is another illustration of one of the textures that a textureengine may generate according to one embodiment of the presentinvention; and

FIG. 5h is another illustration of one of the textures that a textureengine may generate according to one embodiment of the presentinvention.

DETAILED DESCRIPTION

Embodiments of the present invention provide systems and methods for atexture engine.

Illustrative Embodiment of a Texture Engine

One illustrative embodiment of the present invention comprises amessaging device, such as a mobile phone. In the illustrativeembodiment, the messaging device comprises the Samsung Haptic Phone(SCH-W420) equipped with Immersion Corporation's TouchSense® 3000,TouchSense® 4000, or TouchSense® 5000 vibrotactile feedback systems,formerly known as Immersion Corporation's VibeTonz® vibrotactilefeedback system. In other embodiments, different messaging devices andhaptic feedback systems may be utilized.

The illustrative messaging device comprises a display, a speaker, anetwork interface, a memory, and a processor in communication with eachof these elements. The illustrative messaging device also comprises atouch-sensitive interface and an actuator, both of which are incommunication with the processor. The touch-sensitive interface isconfigured to sense a user's interaction with the messaging device, andthe actuator is configured to output a haptic effect. The illustrativemessaging device may further comprise a manipulandum configured todetect a user interaction and transmit an interface signal associatedwith the user interaction to the processor.

In the illustrative messaging device, the display is configured todisplay a graphical user interface to the user. The graphical userinterface may comprise virtual objects, for example icons, buttons, or avirtual keyboard. The illustrative messaging device further comprises atouch-sensitive interface, such as a touch-screen, mounted overtop ofthe display. The touch-sensitive interface allows the user to interactwith the virtual objects displayed in the graphical user interface. Forexample, in one embodiment, the graphical user interface may comprise avirtual keyboard, and in such an embodiment, the touch-sensitiveinterface allows the user to touch a key on the virtual keyboard toinput the alphanumeric character associated with the key. Thisfunctionality may be used to type messages, or otherwise interact withobjects in the graphical user interface.

In the illustrative messaging device the processor is configured todetermine a haptic effect and transmit a haptic signal corresponding tothe haptic effect to an actuator configured to output the haptic effect.In the illustrative messaging device, this haptic effect simulates atexture that the user feels on the surface of the touch-sensitiveinterface. The simulated texture may be associated with the userinterface shown on the display. For example, the display may show anicon comprising the shape of a rock. In such an embodiment, theprocessor may determine a haptic effect configured to simulate thetexture of the rock on the surface of the touch-sensitive interface.Then, the processor will transmit a haptic signal to an actuatorconfigured to output the haptic effect. When the actuator receives thehaptic signal, it will output a haptic effect, such as a vibration, at afrequency configured to cause the surface of the touch-sensitiveinterface to approximate the texture of the rock.

In the illustrative embodiment, the processor may implement a haptic mapto determine the haptic effect. For example, in the illustrativeembodiment, the processor may receive a display signal comprising aplurality of pixels, each of the pixels associated with a color. Forexample, in the illustrative embodiment, each pixel in the displaysignal may be associated with the color red, green, or blue, and it mayfurther be associated with an intensity for each color. In theillustrative embodiment, the processor will assign a haptic value toeach color and further assign a haptic intensity associated with theintensity of each color. Then, the processor will transmit a hapticsignal comprising the haptic values and haptic intensities to anactuator configured to output the haptic effect.

In the illustrative embodiment, the processor may further determine thehaptic effect based on an external trigger. For example, in theillustrative embodiment, the processor is configured to receive aninterface signal from a touch-sensitive interface configured to detect auser interaction. Then, in the illustrative embodiment, the processorwill determine the haptic effect based at least in part on the interfacesignal. For example, the processor may modify the haptic value or hapticintensity based at least in part on the interface signal. In theillustrative embodiment, if the touch-sensitive interface detects a highspeed or high pressure user interaction, the processor will determine ahigher intensity haptic effect.

The illustrative messaging device may output a haptic effect for amultitude of purposes. For example, in one embodiment, the haptic effectmay act as a confirmation that the processor has received an interfacesignal associated with a user interaction. For example, the graphicaluser interface may comprise a button, and the touch-sensitive interfacemay detect user interaction associated with pressing the button andtransmit an interface signal to the processor. In response, theprocessor may determine a haptic effect to confirm receiving theinterface signal. In such an embodiment, the haptic effect may cause theuser to feel a texture on the surface of the touch-sensitive interface.In the illustrative embodiment, the processor may further determinehaptic effects for other purposes. For example, the illustrativemessaging device may output a texture to alert the user to boundaries onthe display or as an identification for objects such as icons on thesurface of the display.

This illustrative example is given to introduce the reader to thegeneral subject matter discussed herein. The invention is not limited tothis example. The following sections describe various additionalnon-limiting embodiments and examples of systems and methods for atexture engine.

Illustrated System for a Texture Engine

Referring now to the drawings in which like numerals indicate likeelements throughout the several figures, FIG. 1 is a block diagram of asystem for a texture engine according to one embodiment of the presentinvention. As shown in FIG. 1, the system 100 comprises a messagingdevice 102, such as a mobile phone, portable digital assistant (PDA),portable media player, portable computer, portable gaming device, orsome other mobile device. In some embodiments, messaging device 102 maycomprise a laptop, tablet, desktop PC, or other similar device. In stillother embodiments, the messaging device may comprise an external monitorfor use with a PC or some other device. The messaging device 102comprises a processor 110 in communication with a network interface 112,a touch-sensitive interface 114, a display 116, an actuator 118, aspeaker 120, and a memory 122.

The processor 110 is configured to execute computer-executable programinstructions stored in memory 122. For example, processor 110 mayexecute one or more computer programs for messaging or for generatinghaptic feedback. Processor 110 may comprise a microprocessor, a digitalsignal processor (DSP), an application-specific integrated circuit(ASIC), one or more field programmable gate arrays (FPGAs), or statemachines. Processor 110 may further comprise a programmable electronicdevice such as a programmable logic controller (PLC), a programmableinterrupt controller (PIC), a programmable logic device (PLD), aprogrammable read-only memory (PROM), an electronically programmableread-only memory (EPROM or EEPROM), or other similar devices.

Memory 122 comprises a computer-readable medium that storesinstructions, which when executed by processor 110, cause processor 110to perform various steps, such as those described herein. Embodiments ofcomputer-readable media may comprise, but are not limited to, anelectronic, optical, magnetic, or other storage or transmission devicescapable of providing processor 110 with computer-readable instructions.Other examples of media comprise, but are not limited to, a floppy disk,CD-ROM, magnetic disk, memory chip, ROM, RAM, ASIC, configuredprocessor, all optical media, all magnetic tape or other magnetic media,or any other medium from which a computer processor can read. Inaddition, various other devices may include computer-readable media suchas a router, private or public network, or other transmission devices.The processor 110 and the processing described may be in one or morestructures, and may be dispersed throughout one or more structures.

Processor 110 is in communication with the network interface 112. Thenetwork interface 112 may comprise one or more methods of mobilecommunication, such as infrared, radio, Wi-Fi, or cellular networkcommunication. In other variations, the network interface 112 comprisesa wired network interface, such as Ethernet. The messaging device 102can be configured to exchange messages or virtual message objects withother devices (not shown) over networks such as a cellular networkand/or the Internet. Embodiments of messages exchanged between devicesmay comprise voice messages, text messages, data messages, or otherforms of digital messages.

The processor 110 is also in communication with one or moretouch-sensitive interfaces 114. In some embodiments, touch-sensitiveinterface 114 may comprise a touch-screen or a touch-pad. For example,in some embodiments, touch-sensitive interface 114 may comprise atouch-screen mounted overtop of a display configured to receive adisplay signal and output an image to the user. In other embodiments,touch-sensitive interface 114 may comprise an optical sensor or anothertype of sensor. In one embodiment, touch-sensitive interface maycomprise an LED detector. For example, in one embodiment,touch-sensitive interface 114 may comprise an LED finger detectormounted on the side of display 116. In some embodiments, the processoris in communication with a single touch-sensitive interface 114, inother embodiments, the processor is in communication with a plurality oftouch-sensitive interfaces, for example, a first touch-screen and asecond touch screen. The touch-sensitive interface 114 is configured todetect user interaction, and based on the user interaction, transmitsignals to processor 110. In some embodiments, touch-sensitive interface114 may be configured to detect multiple aspects of the userinteraction. For example, touch-sensitive interface 114 may detect thespeed and pressure of a user interaction, and incorporate thisinformation into the interface signal.

In the embodiment shown in FIG. 1, the processor 110 is also incommunication with a display 116. The processor 110 can be configured togenerate a graphical representation of a user interface to be shown ondisplay 116, then transmit a display signal comprising the graphicalrepresentation to display 116. In other embodiments, display 116 isconfigured to receive a display signal from another device. For example,in some embodiments, display 116 may comprise an external display, suchas a computer monitor. Display 116 is configured to receive a displaysignal and output an image associated with that display signal. In someembodiments, the display signal may comprise a vga, hdmi, svga, video,s-video, or other type of display signal known in the art. In someembodiments, display 116 comprises a flat screen display, such as aLiquid Crystal Display (LCD) or Plasma Screen Display. In otherembodiments display 116 comprises a Cathode Ray Tube (CRT) or other typeof display known in the art. In still other embodiments, display 116 maycomprise touch-sensitive interface 114, for example, display 116 maycomprise a touch-screen LCD. In still other embodiments, display 116 maycomprise a flexible screen or flexible display. For example, in someembodiments, display 116 may comprise a haptic substrate mountedunderneath its surface. In such an embodiment, display 116 is made of aflexible material, and in response to signals received from processor110, the haptic substrate flexes, forming ridges, troughs, or otherfeatures on the surface of display 116. In some embodiments, the hapticsubstrate may comprise a plasma actuator, a piezoelectric actuator, anelectro-active polymer, a micro-electro-mechanical system, a shapememory alloy, a grid of fluid or gas-filled cells.

In some embodiments, processor 110 receives signals from touch-sensitiveinterface 114 that are associated with an interaction with the graphicaluser interface shown on display 116. For example, in one embodiment,touch-sensitive interface 114 may comprise a touch-screen and agraphical user interface on display 116 may comprises a virtualkeyboard. In such an embodiment, when the user interacts with a sectionof the touch-screen that overlays one of the keys of the virtualkeyboard, the touch-screen will send an interface signal to processor110 corresponding to that user interaction. Based on the interfacesignal, processor 110 will determine that the user pressed one of thekeys on the virtual keyboard. This functionality allows the user tointeract with other icons and virtual objects on the display 116. Forexample, in some embodiments the user may flick the touch-screen to movea virtual ball or turn a virtual knob.

As shown in FIG. 1, processor 110 is also in communication with anactuation system comprising one or more actuators 118, a suspensionsystem for each actuator, and electrical power and control wiring foreach actuator. In some embodiments, messaging device 102 comprises morethan one actuation system. Processor 110 is configured to determine ahaptic effect and transmit a haptic signal corresponding to the hapticeffect to actuator 118. In some embodiments, the haptic effect comprisesa vibrotactile texture felt on the surface of display 116,touch-sensitive interface 114, or the housing of messaging device 102.In some embodiments, determining a haptic effect may comprise performinga series of calculations. In other embodiments, determining the hapticeffect may comprise accessing a lookup table. In still otherembodiments, determining the haptic effect may comprise a combination oflookup tables and algorithms.

In some embodiments, determining the haptic effect may comprise a hapticmap. In such an embodiment, determining the haptic effect may comprisemapping the display signal to the actuators. For example, the displaysignal may comprise a plurality of pixels, each of the pixels associatedwith a color. In such an embodiment, each pixel may be associated withthe color red, green, or blue; each color may further be associated withan intensity, for example, an intensity of 1-8. In such an embodiment,determining the haptic effect may comprise assigning a haptic effect toeach color. In some embodiments, the haptic effect may comprise adirection and intensity of operation, for example, in one embodiment thehaptic signal may be configured to cause a rotary actuator to rotateclockwise at one-half power. In some embodiments, the intensity ofoperation may be associated with the intensity of the color. Onceprocessor 110 determines a haptic effect, it transmits a haptic signalcomprising the haptic effect. In some embodiments, processor 110 mayassign a haptic effect to only some of the pixels in the display signal.For example, in such an embodiment, the haptic effect may be associatedwith only a portion of the display signal.

In some embodiments, processor 110 may utilize a haptic map to determinethe haptic effect and then output the display signal to display 116. Inother embodiments, processor 110 may determine the haptic effect using ahaptic map, and then not transmit the display signal to display 116. Insuch an embodiment, the display 116 may stay dark, or off, whileactuator 118 is outputting the haptic effect. For example, in such anembodiment, processor 110 may receive a display signal from a digitalcamera associated with messaging device 102. In some embodiments, inorder to conserve battery power, the user may have deactivated display116. In such an embodiment, the processor may utilize a haptic map toprovide the user with a haptic effect simulating a texture on thesurface of the display. This texture may be used to alert the user whenthe camera is in focus, or when some other event has occurred. Forexample, processor 110 may use facial recognition software to determinehaptic effects simulating textures at locations on display 116 thatwould be associated with faces if display 116 were activated.

In some embodiments, processor 110 may determine the haptic effect basedat least in part on a user interaction or trigger. In such anembodiment, processor 110 receives an interface signal fromtouch-sensitive interface 114, and determines the haptic effect based atleast in part on the interface signal. For example, in some embodiments,processor 110 may determine the haptic effects based on the location ofthe user interaction detected by touch-sensitive interface 114. Forexample, in such an embodiment, processor 110 may determine a hapticeffect that simulates the texture of a virtual object that the user istouching on the display 116. In other embodiments, processor 110 maydetermine the intensity of the haptic effect based at least in part onthe interface signal. For example, if touch-sensitive interface 114detects a high pressure user interaction, processor 110 may determine ahigh intensity haptic effect. In another embodiment, if touch-sensitiveinterface 114 detects a low pressure user interaction, processor 110 maydetermine a low intensity haptic effect. In still other embodiments,processor 110 may determine the intensity of the haptic effect based atleast in part on the speed of the user interaction. For example, in oneembodiment, processor 110 may determine a low intensity haptic effectwhen touch-sensitive interface 114 detects low speed user interaction.In still other embodiments, processor 110 may determine no hapticeffect, unless it receives an interface signal associated with userinteraction from touch-sensitive interface 114.

Once processor 110 determines the haptic effect, it transmits a hapticsignal associated with the haptic effect to actuator 118. Actuator 118is configured to receive a haptic signal from processor 110 and generatethe haptic effect. Actuator 118 may be, for example, a piezoelectricactuator, an electric motor, an electro-magnetic actuator, a voice coil,a shape memory alloy, an electro-active polymer, a solenoid, aneccentric rotating mass motor (ERM), or a linear resonant actuator(LRA). In some embodiments, actuator 118 may comprise a plurality ofactuators, for example an ERM and an LRA.

In one embodiment of the present invention, the haptic effect generatedby actuator 118 is configured to simulate a texture that the user feelson the surface of touch-sensitive interface 114 or display 116. Thistexture may be associated with the graphical user interface shown ondisplay 116. For example, display 116 may show an icon comprising theshape of a rock. In such an embodiment, processor 110 may determine ahaptic effect configured to simulate the texture of a rock on thesurface of touch-sensitive interface 114. Then, processor 110 willtransmit a haptic signal associated with the haptic effect to actuator118, which outputs the haptic effect. For example, when actuator 118receives the haptic signal, it may output a vibration at a frequencyconfigured to cause the surface of the touch-sensitive interface tocomprise the texture of a rock. In other embodiments, actuator 118 maybe configured to output a vibration at a frequency that causes thesurface of display 116 or touch-sensitive interface 114 to comprise thetexture of: water, ice, leather, sand, gravel, snow, skin, fur, or someother surface. In some embodiments, the haptic effect may be output ontoa different portion of messaging device 102, for example onto itshousing. In some embodiments, actuator 118 may output a multitude ofvibrations configured to output multiple textures at the same time. Forexample, actuator 118 may output a vibration configured to cause thesurface of display 116 to comprise the texture of sand. In such anembodiment, actuator 118 may be configured to output additionalvibrations, configured to cause the user to feel the texture of rocks inthe sand.

Processor 110 may determine a haptic effect for many reasons. Forexample, in some embodiments, processor 110 may output a haptic effectthat corresponds to a the texture of an object shown on display 116. Insuch an embodiment, the display may show multiple objects, and theprocessor may determine a different haptic effect as the user moveshis/her finger from object to object, thus simulating a differenttexture for each object. In some embodiments, the haptic effect may actas a confirmation that processor 110 has received a signal associatedwith user interaction. For example, in one embodiment, the graphicaluser interface may comprise a button and touch-sensitive interface 114may detect user interaction associated with pressing the button. Whentouch-sensitive interface 114 transmits an interface signal associatedwith the user interaction to processor 110, processor 110 may determinea haptic effect to confirm receipt of the interface signal. In such anembodiment, the haptic effect may cause the user to feel a texture onthe surface of touch-sensitive interface 114. For example, the processormay output a haptic effect that simulates the texture of sand to confirmthat processor 110 has received the user input. In other embodiments,the processor may determine a different texture, for example, thetexture of water, ice, oil, rocks, or skin. In some embodiments, thehaptic effect may serve a different purpose, for example, alerting theuser of boundaries on display 116, or providing the user with hapticinformation about the image on display 116. For example, in someembodiments, each icon on display 116 may comprise a different textureand when the user moves his/her finger from one icon to another, theprocessor will determine a haptic effect that simulates the texture ofeach icon. In further embodiments, the processor may change the texturewhen the user's finger moves from contact with an icon to contact withthe background of the display, thus alerting the user that he/she is nolonger touching the icon.

As shown in FIG. 1, processor 110 is also in communication with speaker120. Speaker 120 is configured to receive audio signals from processor110 and output them to the user. In some embodiments, the audio signalsmay be associated with the haptic effect output by actuator 118, or theimage output by display 116. In other embodiments, the audio signal maynot correspond to the haptic effect or the image.

In some embodiments, processor 110 may further comprise one or moresensors, for example, a GPS sensor, an imaging sensor, accelerometer,location sensor, rotary velocity sensor, light sensor, camera,microphone, or some other type of sensor. The sensor may be configuredto detect changes in acceleration, inclination, inertia, or location.For example, messaging device 102 may comprise an accelerometerconfigured to measure the messaging device's acceleration. The sensor isconfigured to transmit sensor signals to processor 110.

The sensor signals may comprise one or more parameters associated with aposition, a movement, an acceleration, or a “jerk” (i.e. the derivativeof acceleration) of the messaging device 102. For example, in oneembodiment, the sensor may generate and transmit a sensor signalcomprising a plurality of parameters, each parameter associated with amovement along or about one measured translational or rotational axis.In some embodiments, the sensor outputs voltages or currents thatprocessor 110 is programmed to interpret to indicate movement along oneor more axes.

In some embodiments, processor 110 will receive the sensor signal anddetermine that it should activate a virtual workspace and interpretsensed movement of the messaging device 102 in an X, Y, or Z directionas corresponding to a virtual movement “within” the virtual workspace.The user may then move device 102 within the virtual workspace to selectfunctions or files, by gesturing within the virtual space. For example,by moving the messaging device 102 in the Z-Axis overtop of a functionwithin the virtual workspace. In some embodiments, the user may usegestures within the virtual workspace to modify the haptic effectsoutput by messaging device 102.

FIG. 2 is an illustration of a system for a texture engine according toone embodiment of the present invention. FIG. 2 comprises a messagingdevice 200, such as a mobile phone, PDA, portable media player, portablegaming device, or mobile computer. The messaging device 200 isconfigured to send and receive signals, such as voicemail, textmessages, and other data messages, over a network such as a cellularnetwork or the Internet. The messaging device 200 may comprise awireless network interface and/or a wired network interface (not shownin FIG. 2). Although the device 200 is illustrated as a handheldmessaging device in FIG. 2, other embodiments may comprise differentdevices, such as video game systems and/or personal computers.

As shown in FIG. 2, the messaging device 200 comprises a housing 202 anda display 216. In some embodiments, display 216 may comprise an LCDdisplay. In other embodiments, display 216 may comprise a plasmadisplay, or other type of display known in the art. Display 216 isconfigured to receive a display signal and output an image associatedwith that display signal. In some embodiments, the display signal maycomprise a vga, hdmi, svga, video, s-video, or other type of displaysignal known in the art. In the embodiment shown in FIG. 2, display 216comprises a textured ball 204. Display 216 further comprises textureselection icons 206, which comprise the textures of rocks, sand, andwater.

Referring still to FIG. 2, the messaging device 200 further comprises amanipulandum 214. In the embodiment shown in FIG. 2, the manipulandum214 comprises a roller ball and buttons. The messaging device 200 alsocomprises a touch-sensitive interface 218. In the embodiment shown inFIG. 2, touch-sensitive interface 218 comprises a touch-screenpositioned overtop of display 216. In some embodiments, display 216 andthe touch-screen may comprise a single integrated component, such as atouch-screen display.

Manipulandum 214 and touch-sensitive interface 218 are configured todetect user interaction and transmit interface signals corresponding tothe user interaction to the processor. In some embodiments, the userinteraction is associated with a graphical user interface shown ondisplay 216. In such an embodiment, the processor receives the interfacesignal and, based at least in part on the interface signal, manipulatesthe graphical user interface. For example, in the embodiment shown inFIG. 2, the user may use either manipulandum 214 or touch-sensitiveinterface 218 to select one of texture selection icons 206. Once theuser has selected a texture for textured ball 204, its appearance on thescreen may change to correspond to that texture. For example, if theuser selects the sand texture icon, the processor may manipulate thedisplay to give textured ball 204 the appearance of a sandy surface, andfurther determine a haptic effect that causes the user to feel a sandytexture when interacting with textured ball 204. Or, in anotherembodiment, if the user selects the rocky texture icon, the processormay determine a haptic effect that causes the user to feel a rockytexture when the user interacts with textured ball 204.

Messaging device 200 further comprises an actuator configured to receivea haptic signal and output a haptic effect (not shown in FIG. 2). Insome embodiments, the haptic effect comprises a vibrotactile texturefelt by the user of messaging device 200. Processor 110 is configured todetermine a haptic effect and transmit a haptic signal corresponding tothe haptic effect to the actuator. In some embodiments, determining ahaptic effect may comprise a series of calculations to determine thehaptic effect. In other embodiments, determining the haptic effect maycomprise accessing a lookup table to determine the appropriate hapticeffect. In still other embodiments, determining the haptic effect maycomprise using a combination of lookup tables and algorithms. Onceprocessor 110 determines the haptic effect, it transmits a haptic signalassociated with the haptic effect to the actuator. The actuator receivesthe haptic signal from processor 110 and generates the haptic effect.The user may feel the haptic effect via the surface of display 216 orthrough some other part of messaging device 200, for example viamanipulandum 214 or housing 202. In some embodiments, the processor maymodify this haptic effect as the user moves his/her finger over thesurface of textured ball 204, in order to simulate changes in texture.

Illustrations of Systems for a Texture Engine

FIG. 3a is an illustration of a system for a texture engine according toone embodiment of the present invention. FIG. 3a comprises a messagingdevice 300, such as a mobile phone, PDA, portable media player, portablegaming device, or mobile computer. The messaging device 300 isconfigured to send and receive signals comprising messages, such asvoicemail, text messages, and other data messages, over a network suchas a cellular network or the Internet. The messaging device 300 maycomprise a wireless network interface and/or a wired network interface(not shown in FIG. 3a ). Although the device 300 is illustrated as ahandheld messaging device in FIG. 3a , other embodiments may comprisedifferent devices, such as video game systems and/or personal computers.

As shown in FIG. 3a , messaging device 300 comprises a display 316.Display 316 is configured to receive a display signal, and output animage based at least in part on the display signal. Messaging device 300further compromises a processor (not shown in FIG. 3a ) configured totransmit the display signal to display 316. Messaging device 300 furthercomprises a touch-sensitive interface 314 mounted overtop of display316. Touch-sensitive interface 314 is configured to detect a userinteraction and transmit an interface signal corresponding to the userinteraction to the processor. Display 316 comprises two icons 302 and304. When the user interacts with one of icons 302 and 304,touch-sensitive interface 314 will detect the user interaction andtransmit a corresponding interface signal to the processor. Based onthis interface signal, the processor may determine that the user hasopened a file linked to one of the icons or performed some other actionknown in the art.

As shown in FIG. 3a , each of icons 302 and 304 comprises a texture. Inthe embodiment shown, icon 302 comprises the texture of bricks and icon304 comprises the texture of rocks. In other embodiments, differenttextures may be used, for example, the texture of sand, water, oil,grass, fur, skin, leather, ice, wood, or some other texture known in theart. When the user, shown in FIG. 3a as finger 306, interacts with thesection of display 316 associated with each icon, the processor willdetermine a haptic effect configured to simulate the texture of thaticon. The processor will then output a signal associated with the hapticeffect to an actuator (not shown in FIG. 3a ) configured to output thehaptic effect. For example, in the embodiment shown in FIG. 3a , whenthe user interacts with the section of display 316 associated with theicon 302 the processor will determine a haptic effect associated withthe texture of bricks. This haptic effect may be characterized by arandom signal punctuated with high powered pulses as user's finger 306moves across mortar. In other embodiments, other haptic effects will beused to simulate different textures that may correspond to the imageshown on display 316.

FIG. 3b is an illustration of a system for a texture engine according toone embodiment of the present invention. In the embodiment shown in FIG.3b , determining the haptic effect comprises mapping the display signalto the actuator. The embodiment shown in FIG. 3b , comprises a magnifiedsection of a display 350. Display 350 is configured to receive a displaysignal from the processor. The display signal comprises a plurality ofpixels that are each associated with a color and an intensity of thatcolor. Display 350 receives this display signal and outputs an imageassociated with the display signal. In the embodiment shown in FIG. 3b ,the magnified portion of display 350 comprises six pixels: 351, 352,353, 354, 355, and 356. Each pixel is associated with a color and anintensity for that color ranging from 1-10. For example, pixel 355 isassociated with the color green, and the color intensity 3 out of 10.Thus, the display 350 will output the color green at an intensity of 3at the location of pixel 355.

In the embodiment shown in FIG. 3b , the processor will determine thehaptic effect based, at least in part, on the display signal and aninterface signal received from a touch-sensitive interface mountedovertop of display 350 (not shown in FIG. 3b ). For example, in theembodiment shown in FIG. 3b , the processor uses the display signal toassociate, or “map,” a haptic effect with each pixel. For example, inthe embodiment shown in FIG. 3b , the processor may determine adifferent frequency haptic effect for each color. The processor mayfurther associate the intensity of the haptic effect at each pixel withthe intensity of the color at each pixel. For example, the processor maydetermine that a pixel with a color intensity of 8 will also have ahaptic intensity of 8. When the processor receives an interface signalassociated with user interaction overtop of the pixels on the display,the processor will output a haptic signal associated with the pixels theuser is interacting with. This haptic effect is configured to cause theuser to feel a texture on the surface of the display.

For example, in the embodiment shown in FIG. 3b , the processor maydetermine blue pixels are associated with a knocking haptic effect, redpixels are associated with a pulsing vibration, and green pixels areassociated with a clicking haptic effect. In such an embodiment, whenthe touch-sensitive interface detects that the user's finger has passedover pixel 351, the processor will determine a knocking with anintensity of 1. Then as the user's finger moves over pixel 352, theprocessor will determine a pulsing vibration with an intensity of 5.And, as the user's finger continues to move across display 350 to pixel353, the processor may determine a clicking effect with an intensity of3.

These haptic effects are configured to cause the user to feel a textureon the surface of display 350 as the user moves his/her finger over thesurface of display 350. In some embodiments, the processor may be incommunication with more than one actuator, and each color may beassociated with its own actuator. In other embodiments, differentcombinations of colors, intensities, and haptic effects may be used tocause the user to feel a texture on the surface of the display.

FIG. 4 is a flow chart of a method for a texture engine according to oneembodiment of the present invention, which is discussed with respect tothe device shown in FIG. 1. As shown in FIG. 4, the method 400 beginswhen processor 110 receives a display signal comprising a plurality ofpixels 402. The display signal may comprise a vga, hdmi, svga, video,s-video, or other type of display signal known in the art. The displaysignal may comprise a graphical user interface, or other image that themessaging device will display to the user via display 116.

Then, touch-sensitive interface 114 transmits an interface signal toprocessor 110, which receives the interface signal 404. In someembodiments, touch-sensitive interface 114 may comprise a touch-screenor a touch-pad. For example, in some embodiments, touch-sensitiveinterface 114 may comprise a touch-screen mounted overtop of a displayconfigured to receive a display signal and output an image to the user.In other embodiments, the touch-sensitive interface may comprise abutton, switch, scroll wheel, roller ball, or some other type ofphysical device interface known in the art. In some embodiments,processor 110 is in communication with a single touch-sensitiveinterface 114. In other embodiments, processor 110 is in communicationwith a plurality of touch-sensitive interfaces 114, for example, atouch-screen and a roller ball. Touch-sensitive interface 114 isconfigured to detect user interaction, and based at least in part on theuser interaction, transmit signals to the processor. In someembodiments, touch-sensitive interface 114 may be configured to detectmultiple aspects of the user interaction. For example, touch-sensitiveinterface 114 may detect the speed and pressure of a user interactionand incorporate this information into the interface signal.

Next, processor 110 determines a haptic effect comprising a texture 406.The haptic effect may comprise a vibration that the user may feelthrough the surface of a touch-sensitive interface or a manipulandum. Insome embodiments, this vibration may cause the user to feel a texture onthe surface of the touch-sensitive interface. For example, the textureof leather, snow, sand, ice, skin, or some other surface. In someembodiments, determining a haptic effect may comprise a series ofcalculations to determine the haptic effect. In other embodiments,determining the haptic effect may comprise accessing a lookup table todetermine the appropriate haptic effect. In still other embodiments,determining the haptic effect may comprise a combination of lookuptables and algorithms.

In some embodiments, determining the haptic effect may comprise a hapticmap. In such an embodiment, determining the haptic effect may comprisemapping the display signal to the actuators. For example, the displaysignal may comprise a plurality of pixels, each of the pixels associatedwith a color. In such an embodiment, determining the haptic effect maycomprise assigning a haptic effect to each color. Then processor 110will output a haptic signal comprising the haptic effect. In someembodiments, processor 110 may assign a haptic effect to only some ofthe pixels in the display signal. For example, in such an embodiment,the haptic effect may be associated with only a portion of the displaysignal.

In some embodiments, processor 110 may determine the haptic effectbased, at least in part, on a user interaction or trigger. In such anembodiment, processor 110 receives an interface signal fromtouch-sensitive interface 114, and determines the haptic effect based atleast in part on the interface signal. For example, in some embodiments,processor 110 may determine different intensity haptic effects based onthe interface signal received from touch-sensitive interface 114. Forexample, if touch-sensitive interface 114 detects a high pressure userinteraction, processor 110 may determine a high intensity haptic effect.In another embodiment, if touch-sensitive interface 114 detects a lowpressure user interaction, processor 110 may determine a low intensityhaptic effect. In still other embodiments, processor 110 may determine alow intensity haptic effect when touch-sensitive interface 114 detectslow speed user interaction. Further, processor 110 may determine highintensity haptic effects when touch-sensitive interface 114 detects ahigh speed user interaction. In still other embodiments, processor 110may determine no haptic effect, unless it receives an interface signalcomprising a user interaction from touch-sensitive interface 114.

Finally, processor 110 transmits a haptic signal associated with thehaptic effect to actuator 118, which is configured to receive the hapticsignal and output the haptic effect 408. Actuator 118 is configured toreceive a haptic signal from processor 110 and generate the hapticeffect. Actuator 118 may be, for example, a piezoelectric actuator, anelectric motor, an electro-magnetic actuator, a voice coil, a linearresonant actuator, a shape memory alloy, an electro-active polymer, asolenoid, an eccentric rotating mass motor (ERM), or a linear resonantactuator (LRA).

FIG. 5a is an illustration of one of the textures that a texture enginemay generate according to one embodiment of the present invention. Theembodiment shown in FIG. 5a comprises brick. The texture of brick ischaracterized by having a rough irregular texture from bricks,punctuated with the feel of gritty valleys from the mortar. A system fora texture engine may generate the rough irregular texture of brick bydriving an actuator, such as a LRA, LPA, or FPA, with a random signalwith medium to high maximum variance while the user's finger is moving.In some embodiments, this variance may be adjusted for differentroughness. In some embodiments, the transition from brick to mortar maybe rendered by a high duration pop created by an ERM. Additionally, ifthe mortar is thick enough, a fine texture may be rendered by driving anactuator with a lower magnitude signal with a higher variance than thatused to drive the actuator outputting the texture of the brick.

FIG. 5b is an illustration of one of the textures that a texture enginemay generate according to one embodiment of the present invention. Theembodiment shown in FIG. 5b comprises rocks. The texture of rocks ischaracterized by smooth surfaces punctuated with transitions as the usermoves from rock to rock. In order to output the texture of a rock, anactuator, such as an FPA, is used to create patches of low friction.Individual rocks may be rendered by a non-visual edge map of thedisplayed image, and outputting a high magnitude haptic signal to anactuator, such as an LPA or ERM, when the touch-sensitive interfacedetects the user's movement. For example, outputting the haptic effectwhenever the touch-sensitive interface detects that the user's finger istransitioning from one rock to another.

FIG. 5c is an illustration of one of the textures that a texture enginemay generate according to one embodiment of the present invention. Theembodiment shown in FIG. 5c comprises sand or sandpaper. Sand ischaracterized by a rough, gritty feel as well as the sensation a pile ofsand particles building up in front of the user's finger. In order tooutput the rough gritty texture, of sand, an actuator, such as an LRA,LPA or FPA is driven with a random signal with high maximum variancewhile the user's finger is moving. In some embodiments, the processormay adjust the variance of the signal to create different degrees ofroughness. To create the feeling of sand piling up, an actuator such asan FPA may be used. In such an embodiment, when user moves their fingeracross the touch screen, the processor will drive the actuator with asignal that starts with a low intensity and builds as the user moveshis/her finger in one direction.

In another embodiment, the texture shown in FIG. 5c may comprisesandpaper. Sandpaper is characterized by having a rough, gritty feel. Tocreate the rough, gritty feel the processor drives an actuator, such asan LRA, LPA or FPA with a random signal with high maximum variance. Insome embodiments, this signal is output only while the user's finger ismoving across the surface the touch-sensitive interface. In someembodiments, the processor may adjust the variance of the signal tochange the level of roughness.

FIG. 5d is an illustration of one of the textures that a texture enginemay generate according to one embodiment of the present invention. Inthe embodiment shown in FIG. 5c , the texture comprises the texture ofgrass. Grass is characterized by a periodic light sensation that almosttickles the user's finger. In order to create the sensation of grass,the processor may drive an actuator, such as an FPA, with a signalconfigured to create patches of low friction overlaid with patches ofgrass. In some embodiments, the processor may render individual grassblades by having a non-visual edge map of the displayed image andoutputting a low magnitude signal to an actuator, such as an LPA or ERM,when the user interface detects the user interaction.

FIG. 5e is an illustration of one of the textures that a texture enginemay generate according to one embodiment of the present invention. Inthe embodiment shown in FIG. 5e , the texture comprises the texture offabric. Fabric is characterized by a light smooth sensation. In order tocreate the sensation of the texture of fabric, the processor may drivean actuator, such as an LPA or an LRA with low magnitude high frequencysignals, as the user's finger moves across the surface of thetouch-sensitive interface.

FIG. 5f is an illustration of one of the textures that a texture enginemay generate according to one embodiment of the present invention. Inthe embodiment shown in FIG. 5f , the texture comprises the texture ofwater or molasses. Water is characterized by having almost no sensation.However, water that is disturbed may splash around and hit against theuser's finger. To emulate the texture of water, the processor may drivean actuator such as an FPA to reduce the friction on the surface of thetouch-sensitive interface. To emulate the water sloshing, the processormay output the haptic signal only when the user is touching the screen.To emulate the texture of a more viscous fluid, such as molasses, oroil, the processor may drive the actuator with a signal configured toincrease the friction on the user's finger as it moves across thesurface of the touch-sensitive interface.

FIG. 5g is an illustration of one of the textures that a texture enginemay generate according to one embodiment of the present invention. Inthe embodiment shown in FIG. 5g , the texture comprises the texture ofleather. Leather is characterized by an overall smooth feeling thatcomprises the bumps and valleys of the surface of the leather. In orderto create the sensations of the texture of leather, the processor maydrive an actuator, such as an FPA, with a signal configured to output ahaptic effect that reduces friction as the user's finger moves acrossthe surface of the touch-sensitive interface. The processor can outputthe cracks and bumps by driving the actuator with a very short lowmagnitude haptic signal at times when the touch-sensitive interfacedetects that the user's finger is moving.

FIG. 5g is an illustration of one of the textures that a texture enginemay generate according to one embodiment of the present invention. Inthe embodiment shown in FIG. 5e , the texture comprises the texture ofwood. Wood may be characterized by an irregular bumpy texture punctuatedby a sharp transition as the user moves from board to board. In order tocreate the irregular bumpy texture, the processor may drive an actuatorsuch as an LRA, LPA, or FPA with a non-visual edge map of the displayedimage and drive the actuator with a very short low magnitude signal atvarious times when the user's finger is moving. To output the transitionfrom plank to plank, the processor may output a haptic signal configuredto cause the actuator to generate a high magnitude, short duration, pop.

In other embodiments, haptic effects associated with different texturesmay be output. For example, in one embodiment, the processor maytransmit a haptic signal configured to cause the actuator to output ahaptic effect configured to cause the user to feel a texture associatedwith the texture of ice. Ice is characterized by low friction, in someembodiments; ice has a completely smooth texture. In other embodiments,ice comprises a fine low magnitude gritty texture. In order to createthe texture of ice, the processor may determine a haptic signalconfigured to cause the actuator to reduce the friction as much aspossible while the user moves their finger across the surface of thetouch-sensitive interface. In another embodiment, the processor maydrive an actuator, such as an LPA or LRA, with a haptic signalconfigured to output low magnitude effects while the user moves theirfinger. These low magnitude effects may be associated with imperfectionsor grit on the surface of the ice.

In another embodiment, the processor may drive the actuator with asignal configured to cause the actuator to output a haptic effectapproximating the texture of lizard skin. Lizard skin is characterizedby an overall smooth sensation punctuated by transitions from bump tobump on the skin. In order to implement a haptic effect comprising thetexture of lizard skin, the processor may drive an actuator with ahaptic signal configured to cause the actuator to create patches of lowfriction on the touch-sensitive interface. The processor may rendercracks on the surface of the skin by outputting high magnitude hapticsignals periodically, when the touch-sensitive interface detects thatthe user's finger is moving across its surface. These high magnitudesignals may approximate the cracks in the surface of the skin.

In yet another embodiment, the processor may drive the actuator with asignal configured to cause the actuator to output a haptic effectapproximating the texture of fur. Fur is characterized by a periodiclight sensation that is very soft to the touch. In order to implement ahaptic effect comprising the texture of fur, the processor may drive theactuator with a haptic signal configured to cause the actuator to outputa haptic effect configured to reduce the friction the user feels on thesurface of the touch-sensitive interface. The processor may furtherrender individual hairs outputting a low magnitude pulsing hapticsignals as the touch-sensitive interface detects the user's movement.

In yet another embodiment, the processor may drive the actuator with asignal configured to cause the actuator to output a haptic effectapproximating the texture of metal. Metal is characterized by a smoothlow friction surface that, in some embodiments, includes light grit. Inorder to implement a haptic effect comprising the texture of metal, theprocessor may drive the actuator with a signal configured to lower thefriction the user feels on the surface of the touch-sensitive interface.In some embodiments, the processor may render individual bumps byoutputting brief high magnitude haptic signals when the touch-sensitiveinterface detects that the user is moving over its surface. These briefhigh magnitude signals may approximate grit on the surface of the metal.

In yet another embodiments, the processor may drive the actuator with asignal configured to cause the actuator to output a haptic effectapproximating another sensation, for example, heat. In such anembodiment, the processor may output a haptic signal configured to causethe actuator to output a high frequency jolting effect, when the usertouches elements of the display that are associated with heat.

Advantages of Systems and Methods for a Texture Engine

There are many advantages of systems and methods for a texture engine.For example, systems and methods of a texture engine adds a previouslyunused haptic effect to a mobile device. This new effect provides a newavenue for the user to receive information from the mobile device,without the user having to look at the display of the mobile device. Forexample, systems and methods of a texture engine may allow the user toassign different textures to different icons, buttons, or othercomponents of their display. Thus, the user may be able to determinewhich icon they are touching, without having to look at that icon. Thismay increase usability of the device, and may make a device more usefulto the visually impaired.

Further, because systems and methods for a texture engine provides theuser with more information, without distracting the user from othertasks, it will reduce user error. For example, users will be less likelyto hit the wrong icon or press the wrong key if they are utilizingsystems and methods for a texture engine. This functionality may serveboth to increase user satisfaction and increase the adoption rate fortechnology that incorporates systems and methods for a texture engine.

General Considerations

The use of “adapted to” or “configured to” herein is meant as open andinclusive language that does not foreclose devices adapted to orconfigured to perform additional tasks or steps. Additionally, the useof “based on” is meant to be open and inclusive, in that a process,step, calculation, or other action “based on” one or more recitedconditions or values may, in practice, be based on additional conditionsor values beyond those recited. Headings, lists, and numbering includedherein are for ease of explanation only and are not meant to belimiting.

Embodiments in accordance with aspects of the present subject matter canbe implemented in digital electronic circuitry, in computer hardware,firmware, software, or in combinations of the preceding. In oneembodiment, a computer may comprise a processor or processors. Theprocessor comprises or has access to a computer-readable medium, such asa random access memory (RAM) coupled to the processor. The processorexecutes computer-executable program instructions stored in memory, suchas executing one or more computer programs including a sensor samplingroutine, a haptic effect selection routine, and suitable programming toproduce signals to generate the selected haptic effects as noted above.

Such processors may comprise a microprocessor, a digital signalprocessor (DSP), an application-specific integrated circuit (ASIC),field programmable gate arrays (FPGAs), and state machines. Suchprocessors may further comprise programmable electronic devices such asPLCs, programmable interrupt controllers (PICs), programmable logicdevices (PLDs), programmable read-only memories (PROMs), electronicallyprogrammable read-only memories (EPROMs or EEPROMs), or other similardevices.

Such processors may comprise, or may be in communication with, media,for example tangible computer-readable media, that may storeinstructions that, when executed by the processor, can cause theprocessor to perform the steps described herein as carried out, orassisted, by a processor. Embodiments of computer-readable media maycomprise, but are not limited to, all electronic, optical, magnetic, orother storage devices capable of providing a processor, such as theprocessor in a web server, with computer-readable instructions. Otherexamples of media comprise, but are not limited to, a floppy disk,CD-ROM, magnetic disk, memory chip, ROM, RAM, ASIC, configuredprocessor, all optical media, all magnetic tape or other magnetic media,or any other medium from which a computer processor can read. Also,various other devices may include computer-readable media, such as arouter, private or public network, or other transmission device. Theprocessor, and the processing, described may be in one or morestructures, and may be dispersed through one or more structures. Theprocessor may comprise code for carrying out one or more of the methods(or parts of methods) described herein.

While the present subject matter has been described in detail withrespect to specific embodiments thereof, it will be appreciated thatthose skilled in the art, upon attaining an understanding of theforegoing may readily produce alterations to, variations of, andequivalents to such embodiments. Accordingly, it should be understoodthat the present disclosure has been presented for purposes of examplerather than limitation, and does not preclude inclusion of suchmodifications, variations and/or additions to the present subject matteras would be readily apparent to one of ordinary skill in the art.

That which is claimed is:
 1. A system comprising: a processor configuredto: receive a display signal comprising a color and an intensity of thecolor; assign a haptic value to each color; determine a haptic effectcomprising a texture, wherein determining the haptic effect comprisesdetermining the haptic value associated with one or more of the colors;and transmit a haptic signal associated with the haptic effect, whereinthe haptic signal comprises a direction of operation and an intensity ofoperation, wherein the direction of operation is based in part on thecolor and the intensity of operation is based in part on an intensity ofthe color; and an actuator in communication with the processor, theactuator configured to receive the haptic signal and output the hapticeffect.
 2. The system of claim 1, further comprising a display incommunication with the processor, the display configured to receive thedisplay signal and output an image, and wherein the texture is outputonto a surface of the display.
 3. The system of claim 1, furthercomprising a touch-sensitive interface configured to detect userinteraction and wherein the processor is further configured to determinethe haptic effect based at least in part on the user interaction.
 4. Thesystem of claim 3, wherein the touch-sensitive interface is configuredto detect a speed of the user interaction and wherein determining thehaptic effect comprises adjusting the haptic effect to correspond withthe speed of the user interaction.
 5. The system of claim 3, wherein thetouch-sensitive interface is configured to detect a pressure of the userinteraction and wherein determining the haptic effect comprisesadjusting the intensity of the haptic effect to correspond with thepressure of the user interaction.
 6. The system of claim 3, furthercomprising a sensor configured to detect movement of a mobile devicehousing in the X, Y, or Z direction, and wherein the processor isfurther configured to determine the haptic effect based in part on themovement.
 7. The system of claim 6, wherein the movement of the mobiledevice corresponds to a movement in a virtual workspace.
 8. A method foroutputting a haptic effect comprising: receiving a display signalcomprising a color and an intensity of the color; assigning a hapticvalue to each color; determining a haptic effect comprising a texture,wherein determining the haptic effect comprises determining the hapticvalue associated with one or more of the colors; and transmitting ahaptic signal associated with the haptic effect to an actuatorconfigured to output the haptic effect, wherein the haptic signalcomprises a direction of operation and an intensity of operation for theactuator, wherein the direction of operation is based in part on thecolor and the intensity of operation is based in part on an intensity ofthe color.
 9. The method of claim 8, further comprising displaying animage associated with the display signal on a surface of a display, andwherein the texture is output onto the surface of the display.
 10. Themethod of claim 8, further comprising determining the haptic effectbased at least in part on a sensor signal received from atouch-sensitive interface configured to detect user interaction.
 11. Themethod of claim 10, wherein the touch-sensitive interface is configuredto detect a speed of the user interaction and wherein determining thehaptic effect comprises adjusting the haptic effect to correspond withthe speed of the user interaction.
 12. The method of claim 10, whereinthe touch-sensitive interface is configured to detect a pressure of theuser interaction and wherein determining the haptic effect comprisesadjusting the intensity of the haptic effect to correspond with thepressure of the user interaction.
 13. The method of claim 8, furthercomprising receiving a sensor signal from a sensor configured to detectmovement of a mobile device in the X, Y, or Z direction, and whereindetermining the haptic effect further comprises determining the hapticeffect based in part on the movement.
 14. The method of claim 13,wherein the movement of the mobile device corresponds to a movement in avirtual workspace.
 15. A non-transitory computer readable mediumcomprising program code, which when executed by a processor isconfigured to cause the processor to: receive a display signalcomprising a color and an intensity of the color; assign a haptic valueto each color; determine a haptic effect comprising a texture, whereindetermining the haptic effect comprises determining the haptic valueassociated with one or more of the colors; and transmit a haptic signalassociated with the haptic effect to an actuator configured to outputthe haptic effect, wherein the haptic signal comprises a direction ofoperation and an intensity of operation for the actuator, wherein thedirection of operation is based in part on the color and the intensityof operation is based in part on an intensity of the color.
 16. Thenon-transitory computer readable medium of claim 15, further comprisingprogram code, which when executed by a processor is configured to causethe processor to: display an image associated with the display signal ona surface of a display, and wherein the texture is output onto thesurface of the display.
 17. The non-transitory computer readable mediumof claim 15, further comprising program code, which when executed by aprocessor is configured to cause the processor to: determine the hapticeffect based at least in part on a sensor signal received from atouch-sensitive interface configured to detect user interaction.
 18. Thenon-transitory computer readable medium of claim 17, wherein thetouch-sensitive interface is configured to detect a speed of the userinteraction and wherein determining the haptic effect comprisesadjusting the haptic effect to correspond with the speed of the userinteraction.
 19. The non-transitory computer readable medium of claim17, wherein the touch-sensitive interface is configured to detect apressure of the user interaction and wherein determining the hapticeffect comprises adjusting the intensity of the haptic effect tocorrespond with the pressure of the user interaction.
 20. Thenon-transitory computer readable medium of claim 15, further comprisingprogram code, which when executed by a processor is configured to causethe processor to: receive a sensor signal from a sensor configured todetect movement of a mobile device in the X, Y, or Z direction, andwherein determining the haptic effect further comprises determining thehaptic effect based in part on the movement.